home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / PowerPlant / AGA Classes 1.2 / Utilities / LAGAGroupBox.h < prev    next >
Text File  |  1996-06-30  |  4KB  |  108 lines

  1. // ===========================================================================
  2. //    LAGAGroupBox.h
  3. // ===========================================================================
  4. //    “Apple Grayscale Appearance” compliant primary and secondary group boxes
  5. //    Copyright © 1996 Chrisoft (Christophe ANDRES)  All rights reserved.
  6. //
  7. //    You may use this source code in any application (commercial, shareware, freeware,
  8. //    postcardware, etc), but not remove this notice (no need to acknowledge the use of
  9. //    this class in the about box)
  10. //    You may not sell this source code in any form. This source code may be placed on 
  11. //    publicly accessable archive sites and source code disks. It may not be placed on 
  12. //    profit archive sites and source code disks without the permission of the author, 
  13. //    Christophe ANDRES.
  14. //    
  15. //        This source code is distributed in the hope that it will be useful,
  16. //        but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. //        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  18. //
  19. //    If you make any change or improvement on this class, please send the improved/changed
  20. //    version to : chrisoft@calva.net or Christophe ANDRES
  21. //                                     20, rue Prosper Mérimée
  22. //                                     67100 STRASBOURG
  23. //                                     FRANCE
  24. //
  25. // ===========================================================================
  26. //    LAGAGroupBox.cp            <- double-click + Command-D to see classes implementation
  27. //
  28. //    LAGAGroupBox is my implementation of the “Apple Grayscale Appearance for System 7.5”
  29. //        primary group box, except that is can only have a text title and not a popup menu,
  30. //        or a checkbox in its title.
  31. //
  32. //    LAGASecondaryGroupBox is my implementation of the “Apple Grayscale Appearance for System 7.5”
  33. //        secondary group box, except that is can only have a text title and not a popup menu,
  34. //        or a checkbox in its title.
  35. //
  36. //    Note : the CPPb declaration of LAGASecondaryGroupBox, as defined in “LAGASeparator CPPb.rsrc”
  37. //                    requires that the CPPb declaration of LAGAGroupBox is also present
  38. //
  39. //        This class requires AGAColors.cp to be present in your project
  40. //        This class requires LGroupBox.cp to be present in your project
  41. //
  42. //        Version : 1.2
  43. //
  44. //        Change History (most recent first, date in US form : mm/dd/yy):
  45. //
  46. //                        06/30/96    ca        Public release of version 1.2
  47. //                        06/28/96    ca        Added DisableSelf and EnableSelf methods
  48. //                        06/05/96    ca        Added RegisterClass method to ease registry
  49. //                                                        Added guard macros in header files
  50. //                                                        Increased version to 1.2
  51. //                        05/17/96    ca        Increased version to 1.1
  52. //                                                        Added copy constructor
  53. //                                                        Added "on the fly" constructor
  54. //                                                        Added change history
  55. //                        04/22/96    ca        class made available by Christophe ANDRES <chrisoft@calva.net>
  56. //                                                        (version 1.0)
  57. //
  58. //        To Do:
  59. //
  60.  
  61. #ifndef _H_LAGAGroupBox
  62. #define _H_LAGAGroupBox
  63. #pragma once
  64.  
  65. #include <LGroupBox.h>
  66.  
  67. class LAGAGroupBox : public LGroupBox
  68. {
  69.     public        :
  70.         enum { class_ID = 'AGA3' };
  71.         static void RegisterClass ();                                                                                                                                                            //    <06/05/96    ca>
  72.         static LAGAGroupBox* CreateAGAGroupBoxStream (LStream* inStream);
  73.         
  74.         LAGAGroupBox (LStream *inStream);
  75.         
  76.         LAGAGroupBox (const LAGAGroupBox &inOriginal);                                                                                                                        //    <05/17/96    ca>
  77.         
  78.         LAGAGroupBox (const SPaneInfo &inPaneInfo, Str255 inString, ResIDT inTextTraitsID);                                                //    <05/17/96    ca>
  79.  
  80.     protected    :
  81.         virtual void DrawText (const Rect &inRect);
  82.         
  83.         virtual void DrawBorder (const Rect &inRect);
  84.  
  85.         virtual void DisableSelf () { Refresh(); };                                                                                                                                //    <06/28/96    ca>
  86.  
  87.         virtual void EnableSelf () { Refresh(); };                                                                                                                                //    <06/28/96    ca>
  88. };
  89.  
  90. class LAGASecondaryGroupBox : public LAGAGroupBox
  91. {
  92.     public        :
  93.         enum { class_ID = 'AGA4' };
  94.         static void RegisterClass ();                                                                                                                                                            //    <06/05/96    ca>
  95.         static LAGASecondaryGroupBox* CreateAGASecondaryGroupBoxStream (LStream* inStream);
  96.         
  97.         LAGASecondaryGroupBox (LStream *inStream);
  98.         
  99.         LAGASecondaryGroupBox (const LAGASecondaryGroupBox &inOriginal);                                                                                    //    <05/17/96    ca>
  100.         
  101.         LAGASecondaryGroupBox (const SPaneInfo &inPaneInfo, Str255 inString, ResIDT inTextTraitsID);                            //    <05/17/96    ca>
  102.  
  103.     protected    :
  104.         virtual void DrawBorder (const Rect &inRect);
  105. };
  106.  
  107. #endif
  108.